In a digital communications system, a source device may send information to a destination device according to a frame-based data transmission protocol. Because the communication channel may be noisy and unreliable, the data transmission protocol may implement a frame exchange protocol to allow the source device to determine whether a sent frame has been successfully received at the destination device. The protocol may include two frames: 1) a sent frame that includes a frame sent from the source device to the destination device; and 2) a response frame that includes an acknowledgment (ACK) from the destination device that the sent frame was received correctly.
To enable the destination device to determine whether a frame is received correctly, the source device may encode and send a frame check sequence, and possibly a header check sequence, along with the sent frame. If the destination device's evaluation of the frame check sequence and the header check sequence indicates that the sent frame was received correctly, then the destination device may send an ACK frame to the source device. If the evaluation indicates that sent frame was received with errors, then the destination device may refrain from sending the ACK frame. In this case, upon the expiration of an acknowledgment timer, the source device may retransmit the entire sent frame to the destination device. This retransmission method may result in more robust communications. However, for severely compromised channels, retransmissions also may consume significant amounts of system bandwidth, particularly for communications that include relatively large frames.